package com.example.oracle.tool;

import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;

import java.io.*;
import java.util.UUID;

/**
 * @author Siaze
 * @date 2021/12/17
 */

public class FilesUploadTool {
    /**
     * 文件基础目录
     */
    private static final String FILE_BASE_DIR = "D:" + File.separator + "SchoolService" + File.separator;

    /**
     * 上传文件
     * @param dir 文件目录
     * @param file 文件
     * @throws IOException 文件保存失败异常
     */
    public static String uploadFile(String dir, MultipartFile file) throws IOException {
        dir = FILE_BASE_DIR + dir;
        String suffix = file.getName().substring(file.getName().lastIndexOf("."));
        File outFile= new File(dir + UUID.randomUUID().toString()+suffix);
        file.transferTo(outFile);
        return outFile.getAbsolutePath();
    }

    /**
     * 获取下载文件
     * @param fileName 文件名
     * @return 文件io流
     * @throws FileNotFoundException 文件不存在异常
     */
    public static File getFile(String fileName) throws FileNotFoundException {
        File file = new File(fileName);
        if (!file.exists() && file.isFile()){
            throw new FileNotFoundException("文件不存在");
        }
        return file;
    }
}
